package com.ccp.dev.qbdms.model;

import java.math.BigDecimal;
import com.ccp.dev.core.basic.model.BaseModel;
import com.ccp.dev.qbdms.annotation.AutoConfirmRequired;
import com.ccp.dev.qbdms.expimp.annotation.ExpAnnotation;
import com.ccp.dev.qbdms.expimp.annotation.FlowSubject;
import com.ccp.dev.qbdms.expimp.annotation.ImpAnnotation;

import java.util.Date;

/**
 * 软件静态度量表 w_qbd_software_sta
 *
 * @author 于金
 * @date 2020-07-08 15:35:32
 */
@ExpAnnotation(description = "软件静态度量")
@ImpAnnotation(description = "软件静态度量")
@FlowSubject(subjectName = "软件静态度量")
public class WQbdSoftwareSta extends  BaseBusinessModel<WQbdSoftwareSta>
{
    private static final long serialVersionUID = 1L;

    /**
     * 主键
     */
    private String  id;
    /**
     * 软件名称
     */
    @ExpAnnotation(description = "软件名称")
    @ImpAnnotation(description = "软件名称",isRequired = true)
    private String  softwareName;
    /**
     * 统计期
     */
    @ExpAnnotation(description = "统计期",format = "yyyy-MM")
    @ImpAnnotation(description = "统计期",format = "yyyy-MM",isRequired = true)
    private Date  statisticalPeriod;
    /**
     * 软件规模
     */
    @ExpAnnotation(description = "软件规模")
    @ImpAnnotation(description = "软件规模",isRequired = true)
    private String  softwareScale;
    /**
     * 注释行
     */
    @ExpAnnotation(description = "注释行")
    @ImpAnnotation(description = "注释行",isRequired = true)
    private String  commentLine;
    /**
     * 模块总数
     */
    @ExpAnnotation(description = "模块总数")
    @ImpAnnotation(description = "模块总数",isRequired = true)
    private Long  modularTotal;
    /**
     * 模块的平均规模
     */
    @ExpAnnotation(description = "模块的平均规模")
    @ImpAnnotation(description = "模块的平均规模",isRequired = true)
    private String  modularAverageScale;
    /**
     * 模块平均圈复杂度
     */
    @ExpAnnotation(description = "模块平均圈复杂度")
    @ImpAnnotation(description = "模块平均圈复杂度",isRequired = true)
    private String  modularAverageCircle;
    /**
     * 模块最大圈复杂度
     */
    @ExpAnnotation(description = "模块最大圈复杂度")
    @ImpAnnotation(description = "模块最大圈复杂度",isRequired = true)
    private String  modularMaxCircle;
    /**
     * 模块圈复杂度(%)≥10的比例
     */
    @ExpAnnotation(description = "模块圈复杂度(%)≥10的比例")
    @ImpAnnotation(description = "模块圈复杂度(%)≥10的比例")
    private String  modularCircleComplex10;
    /**
     * 模块圈复杂度(%)≥20的比例
     */
    @ExpAnnotation(description = "模块圈复杂度(%)≥20的比例")
    @ImpAnnotation(description = "模块圈复杂度(%)≥20的比例")
    private String  modularCircleComplex20;
    /**
     * 模块圈复杂度(%)≥40的比例
     */
    @ExpAnnotation(description = "模块圈复杂度(%)≥40的比例")
    @ImpAnnotation(description = "模块圈复杂度(%)≥40的比例")
    private String  modularCircleComplex40;
    /**
     * 软件需求功能点数
     */
    @ExpAnnotation(description = "软件需求功能点数")
    @ImpAnnotation(description = "软件需求功能点数",isRequired = true)
    private Long  softwareDemandFunctionNum;
    /**
     * 概要设计的程序模块数
     */
    @ExpAnnotation(description = "概要设计的程序模块数")
    @ImpAnnotation(description = "概要设计的程序模块数",isRequired = true)
    private Long  outlineDesignNum;
    /**
     * 详细设计的程序模块数
     */
    @ExpAnnotation(description = "详细设计的程序模块数")
    @ImpAnnotation(description = "详细设计的程序模块数",isRequired = true)
    private Long  detailedDesignNum;

    /**
     * 密级
     */
    private Long  dataprivacylevel;


    private String  status;


    public String getId() {
        return this.id;
    }
    public void setId(String id) {
        this.id = id;
    }
    public String getSoftwareName() {
        return this.softwareName;
    }
    public void setSoftwareName(String softwareName) {
        this.softwareName = softwareName;
    }
    public Date getStatisticalPeriod() {
        return this.statisticalPeriod;
    }
    public void setStatisticalPeriod(Date statisticalPeriod) {
        this.statisticalPeriod = statisticalPeriod;
    }
    public String getSoftwareScale() {
        return this.softwareScale;
    }
    public void setSoftwareScale(String softwareScale) {
        this.softwareScale = softwareScale;
    }
    public String getCommentLine() {
        return this.commentLine;
    }
    public void setCommentLine(String commentLine) {
        this.commentLine = commentLine;
    }
    public Long getModularTotal() {
        return this.modularTotal;
    }
    public void setModularTotal(Long modularTotal) {
        this.modularTotal = modularTotal;
    }
    public String getModularAverageScale() {
        return this.modularAverageScale;
    }
    public void setModularAverageScale(String modularAverageScale) {
        this.modularAverageScale = modularAverageScale;
    }
    public String getModularAverageCircle() {
        return this.modularAverageCircle;
    }
    public void setModularAverageCircle(String modularAverageCircle) {
        this.modularAverageCircle = modularAverageCircle;
    }
    public String getModularMaxCircle() {
        return this.modularMaxCircle;
    }
    public void setModularMaxCircle(String modularMaxCircle) {
        this.modularMaxCircle = modularMaxCircle;
    }
    public String getModularCircleComplex10() {
        return this.modularCircleComplex10;
    }
    public void setModularCircleComplex10(String modularCircleComplex10) {
        this.modularCircleComplex10 = modularCircleComplex10;
    }
    public String getModularCircleComplex20() {
        return this.modularCircleComplex20;
    }
    public void setModularCircleComplex20(String modularCircleComplex20) {
        this.modularCircleComplex20 = modularCircleComplex20;
    }
    public String getModularCircleComplex40() {
        return this.modularCircleComplex40;
    }
    public void setModularCircleComplex40(String modularCircleComplex40) {
        this.modularCircleComplex40 = modularCircleComplex40;
    }
    public Long getSoftwareDemandFunctionNum() {
        return this.softwareDemandFunctionNum;
    }
    public void setSoftwareDemandFunctionNum(Long softwareDemandFunctionNum) {
        this.softwareDemandFunctionNum = softwareDemandFunctionNum;
    }
    public Long getOutlineDesignNum() {
        return this.outlineDesignNum;
    }
    public void setOutlineDesignNum(Long outlineDesignNum) {
        this.outlineDesignNum = outlineDesignNum;
    }
    public Long getDetailedDesignNum() {
        return this.detailedDesignNum;
    }
    public void setDetailedDesignNum(Long detailedDesignNum) {
        this.detailedDesignNum = detailedDesignNum;
    }
    public Long getDataprivacylevel() {
        return this.dataprivacylevel;
    }
    public void setDataprivacylevel(Long dataprivacylevel) {
        this.dataprivacylevel = dataprivacylevel;
    }

    public String getStatus() {
        return status;
    }

    public void setStatus(String status) {
        this.status = status;
    }

    @Override
    public String toString() {
        return "WQbdSoftwareSta{" +
                "id='" + id + "'," +
                "softwareName='" + softwareName + "'," +
                "statisticalPeriod='" + statisticalPeriod + "'," +
                "softwareScale='" + softwareScale + "'," +
                "commentLine='" + commentLine + "'," +
                "modularTotal='" + modularTotal + "'," +
                "modularAverageScale='" + modularAverageScale + "'," +
                "modularAverageCircle='" + modularAverageCircle + "'," +
                "modularMaxCircle='" + modularMaxCircle + "'," +
                "modularCircleComplex10='" + modularCircleComplex10 + "'," +
                "modularCircleComplex20='" + modularCircleComplex20 + "'," +
                "modularCircleComplex40='" + modularCircleComplex40 + "'," +
                "softwareDemandFunctionNum='" + softwareDemandFunctionNum + "'," +
                "outlineDesignNum='" + outlineDesignNum + "'," +
                "detailedDesignNum='" + detailedDesignNum + "'," +
                "dataprivacylevel='" + dataprivacylevel + "'" +
                '}';
    }

}
